package com.emm.yixun.customer.service;
import java.util.List;

import javax.jws.WebService;

import com.emm.yixun.common.page.Page;
import com.emm.yixun.common.response.Response;
import com.emm.yixun.common.response.ResponseList;
import com.emm.yixun.common.app.ChannelToM2ReqDto;
import com.emm.yixun.common.app.ChannelToM2ResDto;
import com.emm.yixun.common.model.CallCustomer;
import com.emm.yixun.common.model.CallCustomerInfo;
import com.emm.yixun.common.model.dto.CallCustomerDto;
import com.emm.yixun.common.model.dto.TelRecordDto;
@WebService
public interface CallCustomerServiceFacade{
     	/**
	    *新增
	    */
		Response<CallCustomerDto> save(CallCustomerDto dto);
		
		/**
		*修改,当selective=true时修改非空列,当selective=false修改所有列
		*/
		Response<Integer> updateByPrimaryKey(CallCustomerDto dto,Boolean selective);
		
		/**
		 *逻辑删除
		 */
		Response<Integer> deleteByPrimaryKey(Long id);
		
		/**
		 *主键查询
		 */
		Response<CallCustomerInfo> findById(Long id);
		
		/**
		 *根据dto查询记录
		 */
		ResponseList<CallCustomerInfo> findByDto(CallCustomerDto dto);
		/**
		 *根据dto以及分页参数查询记录
		 */
		Page<CallCustomerInfo> findPageByDto(CallCustomerDto dto,Integer begin,Integer row);
		
		/**
		 *根据dto查询记录
		 */
		ResponseList<CallCustomerInfo> setValueGetList(CallCustomerDto dto);
		
		/**
		 *根据dto查询记录
		 */
		ResponseList<CallCustomer> setValueGetListDto(CallCustomerDto dto);
		
		/**
		 *根据dto查询记录
		 */
		Response<Integer> getCount(CallCustomerDto dto);
		
		/**
		 *根据dto查询记录
		 */
		ResponseList<TelRecordDto> getTelRecordList(TelRecordDto dto);
		
		/**
		 *根据dto拨打电话
		 */
		Response<TelRecordDto> callPhone(TelRecordDto dto);
		
		/**
		 *根据dto以及分页参数查询记录
		 */
		Page<CallCustomerInfo> getWeifenpeiPageModel(CallCustomerDto dto,Integer begin,Integer row);
		
		/**
		 *根据dto以及分页参数查询记录
		 */
		Page<CallCustomerInfo> callFindPageByDto(CallCustomerDto dto,Integer begin,Integer row, List<com.emm.yixun.common.model.Resources> getPermitBtn);
		
		/**
		 *根据dto查询记录
		 */
		ResponseList<CallCustomer> distinctPhone(CallCustomerDto dto);
		
		/**
		 *渠道转客
		 */
		ChannelToM2ResDto saveChannelToM2(ChannelToM2ReqDto dto);
}
